<template>
    <div class="report">
        <!-- 面包屑导航 -->
        <el-breadcrumb separator-class="el-icon-arrow-right">
            <el-breadcrumb-item :to="{ path: '/home' }">{{
                $t('report.home')
            }}</el-breadcrumb-item>
            <el-breadcrumb-item>{{
                $t('report.dataCount')
            }}</el-breadcrumb-item>
            <el-breadcrumb-item>{{
                $t('report.dataReport')
            }}</el-breadcrumb-item>
        </el-breadcrumb>

        <!-- 卡片视图区域 -->
        <el-card>
            <!-- 为 ECharts 准备一个定义了宽高的 DOM -->
            <div id="main" style="width: 750px; height: 400px"></div>
        </el-card>
    </div>
</template>

<script>
// 引入 echarts 模块，用于渲染图表
import * as echarts from 'echarts'
// 引入 lodash 模块，用于合并数据对象
import _ from 'lodash'

export default {
    name: 'reportWrap',
    data() {
        return {
            // 需要合并的数据
            options: {
                title: {
                    text: '用户来源',
                },
                tooltip: {
                    trigger: 'axis',
                    axisPointer: {
                        type: 'cross',
                        label: {
                            backgroundColor: '#E9EEF3',
                        },
                    },
                },
                grid: {
                    left: '3%',
                    right: '4%',
                    bottom: '3%',
                    containLabel: true,
                },
                xAxis: [
                    {
                        boundaryGap: false,
                    },
                ],
                yAxis: [
                    {
                        type: 'value',
                    },
                ],
            },
        }
    },
    methods: {},
    created() {},
    // dom 元素初始完毕后执行
    async mounted() {
        // 基于准备好的dom，初始化echarts实例
        const myChart = echarts.init(document.getElementById('main'))
        // 获取时间统计的折线图
        const { data: res } = await this.$http.get('reports/type/1')
        // 获取 msg 和 status
        const {
            meta: { msg, status },
        } = res
        // 如果获取失败
        if (status !== 200) {
            // 消息提示
            return this.$message.error(msg)
        }
        // 指定图表的配置项和数据
        const result = _.merge(res.data, this.options)
        // 使用刚指定的配置项和数据显示图表。
        myChart.setOption(result)
    },
}
</script>
